Traditionally, the Transmission Control Protocol (TCP) has been considered as not suitable for the delivery of real-time media such as audio and video content. This is mainly due to the aggressive congestion control algorithm and the retransmission procedure that TCP implements. In TCP, the sender reduces the transmission rate significantly (typically by half) upon detection of a congestion event, typically recognized through packet loss or excessive transmission delays. As a consequence, the transmission throughput of TCP is usually characterized by the well-known saw-tooth shape. This behavior is detrimental for streaming applications as they are delay-sensitive but relatively loss-tolerant, whereas TCP sacrifices delivery delay in favor of reliable and congestion-aware transmission.
Recently, the trend has shifted towards the deployment of the Hypertext Transport Protocol (HTTP) as the preferred protocol for the delivery of multimedia content over the Internet. HTTP runs on top of TCP and is a textual protocol. The reason for this shift is attributable to the ease of deployment of the protocol. There is no need to deploy a dedicated server for delivering the content. Furthermore, HTTP is typically granted access through firewalls and NATs, which significantly simplifies the deployment.